{
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {
        "colab_type": "text",
        "id": "DgBkBx32yaMY"
      },
      "source": [
        "##### Copyright 2018 The TensorFlow Probability Authors.\n",
        "\n",
        "Licensed under the Apache License, Version 2.0 (the \"License\");"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 0,
      "metadata": {
        "cellView": "form",
        "colab": {},
        "colab_type": "code",
        "id": "gWHuBAw5BCaa"
      },
      "outputs": [],
      "source": [
        "#@title Licensed under the Apache License, Version 2.0 (the \"License\"); { display-mode: \"form\" }\n",
        "# you may not use this file except in compliance with the License.\n",
        "# You may obtain a copy of the License at\n",
        "#\n",
        "# https://www.apache.org/licenses/LICENSE-2.0\n",
        "#\n",
        "# Unless required by applicable law or agreed to in writing, software\n",
        "# distributed under the License is distributed on an \"AS IS\" BASIS,\n",
        "# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n",
        "# See the License for the specific language governing permissions and\n",
        "# limitations under the License."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "colab_type": "text",
        "id": "yvRjEiD3exsq"
      },
      "source": [
        "# Factorial Mixture\n",
        "\n",
        "\u003ctable class=\"tfo-notebook-buttons\" align=\"left\"\u003e\n",
        "  \u003ctd\u003e\n",
        "    \u003ca target=\"_blank\" href=\"https://www.tensorflow.org/probability/examples/Factorial_Mixture\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/tf_logo_32px.png\" /\u003eView on TensorFlow.org\u003c/a\u003e\n",
        "  \u003c/td\u003e\n",
        "  \u003ctd\u003e\n",
        "    \u003ca target=\"_blank\" href=\"https://colab.research.google.com/github/tensorflow/probability/blob/master/tensorflow_probability/examples/jupyter_notebooks/Factorial_Mixture.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/colab_logo_32px.png\" /\u003eRun in Google Colab\u003c/a\u003e\n",
        "  \u003c/td\u003e\n",
        "  \u003ctd\u003e\n",
        "    \u003ca target=\"_blank\" href=\"https://github.com/tensorflow/probability/blob/master/tensorflow_probability/examples/jupyter_notebooks/Factorial_Mixture.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/GitHub-Mark-32px.png\" /\u003eView source on GitHub\u003c/a\u003e\n",
        "  \u003c/td\u003e\n",
        "  \u003ctd\u003e\n",
        "    \u003ca href=\"https://storage.googleapis.com/tensorflow_docs/probability/tensorflow_probability/examples/jupyter_notebooks/Factorial_Mixture.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/download_logo_32px.png\" /\u003eDownload notebook\u003c/a\u003e\n",
        "  \u003c/td\u003e\n",
        "\u003c/table\u003e"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "colab_type": "text",
        "id": "c9ZrVm6_xTLp"
      },
      "source": [
        "In this notebook we show how to use [TensorFlow Probability](https://github.com/tensorflow/probability) (TFP) to sample from a factorial Mixture of Gaussians distribution defined as:\n",
        "$$p(x_1, ..., x_n) = \\prod_i p_i(x_i)$$ where: $$\\begin{align*} p_i &\\equiv \\frac{1}{K}\\sum_{i=1}^K \\pi_{ik}\\,\\text{Normal}\\left(\\text{loc}=\\mu_{ik},\\, \\text{scale}=\\sigma_{ik}\\right)\\\\1&=\\sum_{k=1}^K\\pi_{ik}, \\forall i.\\hphantom{MMMMMMMMMMM}\\end{align*}$$\n",
        "\n",
        "Each variable $x_i$ is modeled as a mixture of Gaussians, and the joint distribution over all $n$ variables is a product of these densities.\n",
        "\n",
        "Given a dataset $x^{(1)}, ..., x^{(T)}$, we  model each dataponit $x^{(j)}$ as a factorial mixture of Gaussians:\n",
        "$$p(x^{(j)}) = \\prod_i p_i (x_i^{(j)})$$\n",
        "\n",
        "\n",
        "Factorial mixtures are a simple way of creating distributions with a small number of parameters and a large number of modes."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 0,
      "metadata": {
        "colab": {},
        "colab_type": "code",
        "id": "DGFnQOpxw5FS"
      },
      "outputs": [],
      "source": [
        "import tensorflow as tf\n",
        "import numpy as np\n",
        "import tensorflow_probability as tfp\n",
        "import matplotlib.pyplot as plt\n",
        "import seaborn as sns\n",
        "tfd = tfp.distributions\n",
        "\n",
        "# Use try/except so we can easily re-execute the whole notebook.\n",
        "try:\n",
        "  tf.enable_eager_execution()\n",
        "except:\n",
        "  pass"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "colab_type": "text",
        "id": "pr6_6GpGdW-E"
      },
      "source": [
        "## Build the Factorial Mixture of Gaussians using TFP"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 0,
      "metadata": {
        "colab": {},
        "colab_type": "code",
        "id": "ioCED18abzwn"
      },
      "outputs": [],
      "source": [
        "num_vars = 2        # Number of variables (`n` in formula).\n",
        "var_dim = 1         # Dimensionality of each variable `x[i]`.\n",
        "num_components = 3  # Number of components for each mixture (`K` in formula).\n",
        "sigma = 5e-2        # Fixed standard deviation of each component.\n",
        "\n",
        "# Choose some random (component) modes.\n",
        "component_mean = tfd.Uniform().sample([num_vars, num_components, var_dim])\n",
        "\n",
        "factorial_mog = tfd.Independent(\n",
        "   tfd.MixtureSameFamily(\n",
        "       # Assume uniform weight on each component.\n",
        "       mixture_distribution=tfd.Categorical(\n",
        "           logits=tf.zeros([num_vars, num_components])),\n",
        "       components_distribution=tfd.MultivariateNormalDiag(\n",
        "           loc=component_mean, scale_diag=[sigma])),\n",
        "   reinterpreted_batch_ndims=1)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "colab_type": "text",
        "id": "U_E2Zf--eJ0C"
      },
      "source": [
        "Notice our use of `tfd.Independent`. This \"meta-distribution\" applies a `reduce_sum` in the `log_prob` calculation over the rightmost `reinterpreted_batch_ndims` batch dimensions. In our case, this sums out the variables dimension leaving only the batch dimension when we compute `log_prob`.  Note that this does not affect sampling."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "colab_type": "text",
        "id": "-uAYBsTNdveL"
      },
      "source": [
        "## Plot the Density\n",
        "Compute the density on a grid of points, and show the locations of the modes with red stars. Each mode in the factorial mixture corresponds to a pair of modes from the underlying individual-variable mixture of Gaussians. We can see 9 modes in the plot below, but we only needed 6 parameters (3 to specify the locations of the modes in $x_1$, and 3 to specify the locations of the modes in $x_2$). In contrast, a mixture of Gaussians distribution in the 2d space $(x_1, x_2)$ would require 2 * 9 = 18 parameters to specify the 9 modes."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 7,
      "metadata": {
        "colab": {
          "height": 351
        },
        "colab_type": "code",
        "id": "ym9qrhAxXdch",
        "outputId": "14bab899-0905-46f1-e783-11aa9c4e9ec0"
      },
      "outputs": [
        {
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYcAAAFOCAYAAABt+dECAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzsfXmcHVWZ9nPOqbr39pZ9bdIkgbAl\nLNEESJBFZJ0AARVZBAUjRBRnkGHmE0FhdHBhBsflU0QYjEY2nd/ol2EXGRRQCIuCRAYIGkJIMCSE\npDvdd6mq835/nKVO1b23uxPoTuKcx981t27VrTrnXPp9zrszIiJ4eHh4eHg44Dt6AB4eHh4eOx88\nOXh4eHh41MGTg4eHh4dHHTw5eHh4eHjUwZODh4eHh0cdPDl4eHh4eNTBk8P/AjzyyCPYZ599huVZ\nL774It71rneho6MD3/72t+vOr1+/HkceeSQ6Ojpw2WWXDcuYmuErX/kKLrjggkFde/755+Pzn//8\nO/Lciy66CP/8z//8jtxruPG9730PEydORHt7O958880dPZxBob29HX/+85939DB2PZDHsGHq1KlU\nKpWovb2dRo4cSfPnz6fvfe97lCTJsI/jgQceGJJ7L1q0iD7zmc80Pf+lL32J3v/+95OU8m095+qr\nr6Zzzjnnbd1jW3DeeefRlVdeOWzPIyJatWoVAaAoiob1uc1Qq9WoVCrRM8880/SaarVKX/ziF2nv\nvfem1tZW6uzspBNPPJHuv//+YRypxzsBrzkMM+6880709PRg9erVuPzyy3Httdfi4x//+I4e1juG\n1atXY9asWf2enzlzJhhjwziqesRxvEOfPxwgIkgp37H7rV+/HpVKpd/f9/TTT8eyZcuwdOlSvPXW\nW1i1ahUuueQS3H333e/YODyGCTuanf43odGOffny5cQYo+eee46IiCqVCl122WXU1dVFEyZMoE98\n4hPU19dHREQPPfQQ7bbbbnTdddfR+PHjadKkSfSDH/zA3uvuu++m/fbbj9rb26mzs5P+9V//NfM9\nIqJzzz2XGGNUKpWora2Nrr32WlqwYAF9+9vfzozrgAMOoJ///OcN57Fs2TKaOXMmjRw5ko466ih6\n/vnniYjo6KOPJs45FYtFamtroxdffDHzvfPOO4+CIKAwDKmtrY0eeOABWr58Oc2bN49GjhxJkyZN\noosvvpiq1ar9zooVK+jYY4+l0aNH04QJE+jLX/4y3XvvvRSGIQVBQG1tbXTggQcSEdHatWvplFNO\nodGjR9Oee+5JN954o73P1VdfTR/84AfpnHPOoY6ODrrpppvqtI/TTz+dJk6cSCNGjKAjjjiCVqxY\nkRl7M81hyZIldNhhh9FnPvMZGjlyJE2fPp1+85vf0JIlS2jKlCk0fvx4+uEPf9jwXl/72tfo0EMP\ntdrB9ddfTzNnzqRyuUxdXV0EgNra2qitrY1++9vf1o05r10cddRRdMUVV9Bhhx1GpVKJVq5cSZs3\nb6ZFixbRpEmTqLOzk6688kqK47jhXCqVCl1yySU0efJkmjx5Ml1yySVUqVToxRdfpNbWVjueo48+\nuu67DzzwAJVKJVqzZk3Dext89atfpT322IPa29tpv/32o5/97GeZ36m/+S1ZsoSmT59O7e3tNG3a\nNLrllluIiGjlypV05JFH0ogRI2js2LF0xhln2HsAoJUrVxIR0V133UWzZ8+mjo4OmjJlCl199dV1\nz/rhD39IXV1dNHbsWLrmmmvs+eXLl9OcOXOoo6ODJkyYQJdeemm/89zV4clhGNHMnNPV1UXXX389\nERFdcskldMopp9Cbb75J3d3ddPLJJ9Pll19ORErICyHoC1/4AtVqNbr77ruppaWFNm3aREREkyZN\noocffpiIiDZt2kRPP/20/Z4hh0bj+MlPfkKHHHKIPX7mmWdozJgxGSFtYITEL37xC6rVanTttdfS\nnnvuaa896qij6Kabbmq6Bnkh+9RTT9Fjjz1GURTRqlWraN9996VvfOMbRETU3d1NkyZNouuuu47K\n5TJ1d3fT448/TkSNzUpHHnkkffKTn6RyuUy///3vady4cfTLX/7SXh8EAf385z+nJEmor6+v7h43\n33wzdXd3WwF50EEHNR23iyVLlpAQgn7wgx9QHMd05ZVXUldXF33qU5+iSqVC999/P7W3t1NPT0/d\nvZIkoSOOOIKuvvpqeumll2jUqFH0u9/9jogam5UGQw5dXV20YsUKiqKIarUanXrqqbR48WLaunUr\nrV+/ng4++GC64YYbGs7lC1/4Ah166KG0fv16euONN2j+/Pn0+c9/vul4XHz2s5+lo446quE5Fz/9\n6U9p7dq1lCQJ3XHHHdTa2krr1q0bcH5bt26ljo4OeuGFF4iIaN26dZbAzzrrLLrmmmsoSRIql8v0\nyCOP2Hu45PDQQw/RH/7wB0qShJ599lmaMGGC3QSZZ11wwQXU19dHzzzzDBUKBbv5mTdvHi1dupSI\niHp6euixxx4bcK67MrxZaSdAZ2cnNm3aBCLCTTfdhG984xsYM2YMOjo6cMUVV+COO+6w14ZhiKuu\nugphGGLBggVob2/Hiy++aM89//zz6O7uxujRo/Hud797UM8/9dRTsXLlSqxcuRIA8OMf/xhnnnkm\nCoVC3bU/+clPcNJJJ+G4445DGIb4h3/4B5TLZfz2t7/drrnPmTMH8+bNQxAEmDZtGj7xiU/g17/+\nNQDgrrvuwqRJk3DZZZehVCqho6MDhx56aMP7rFmzBo8++iiuvfZalEolzJ49GxdccAF+/OMf22vm\nz5+P0047DZxztLS01N1j0aJF6OjoQLFYxD/90z/h2WefxZYtWwY1j+nTp+NjH/sYhBA488wzsWbN\nGlx11VUoFos4/vjjUSgU8PLLL9d9j3OOpUuX4tvf/jYWLlyI//N//g/e9a53DeqZzXD++edj1qxZ\nCIIAmzZtwr333otvfvObaGtrw4QJE3DppZdm/ptyceutt+Kqq67ChAkTMH78eFx99dWZNewPGzdu\nxKRJk+zxpk2bMGrUKIwcORKlUsl+/qEPfQidnZ3gnOPMM8/EXnvthSeeeGJQz+CcY8WKFSiXy5g8\nebI1cYVhiNWrV2PdunUolUo4/PDDG37/ve99Lw444ABwznHggQfi7LPPtv+9GVx99dVoaWnBQQcd\nhIMOOgjPPvusfcbLL7+MjRs3or29HfPmzRvUmHdVeHLYCbB27VqMGTMGGzZsQF9fH+bMmYNRo0Zh\n1KhROPHEE7FhwwZ77dixYxEEgT1ubW3F1q1bAQD/+Z//iXvuuQdTp07FUUcdhccee2xQzy8Wizjj\njDNwyy23QEqJ22+/HR/5yEcaXrtu3TpMnTrVHnPO0dXVhbVr127P1PHSSy/h5JNPxqRJkzBixAhc\nccUV2LhxIwAl8Pfcc89B3WfdunWWUA2mTp2aGVdXV1fT7ydJgssvvxx77rknRowYgWnTpgGAHctA\nmDhxon1viCf/mfmd8pg2bRqOPvpovPLKK7j44osH9bz+4M5z9erViKIIkydPtv9NfeITn8Abb7zR\n8Lv533fq1KlYt27doJ47duxYvP766/Z4zJgx2Lx5M55++mlUq1X7+dKlSzF79mw7nhUrVgxqndva\n2vCTn/wEN9xwAyZPnoyTTjoJL7zwAgDgX/7lX0BEOOSQQzBr1iz84Ac/aHiP5cuX4+ijj8b48eMx\ncuRI3HDDDXXPdgnO/fu6+eab8dJLL2HffffFwQcfjLvuumtQ67KrwpPDDsaTTz6JtWvX4vDDD8e4\ncePQ0tKCP/7xj9i8eTM2b96MLVu2NBUqeRx88MFYtmwZ3njjDZx22mk444wzGl7XyBl83nnn4dZb\nb8WDDz6I1tZWzJ8/v+F3Ozs7sXr1antMRFizZg122223QY0xj09+8pPYd999sXLlSnR3d+MrX/kK\nSBcK7urqwp/+9KdBzcFoXz09PfazV199NTOu/pzgt912G5YtW4Zf/vKX2LJlC1555RU7v6HGPffc\ng8ceewzHHHMM/vEf/9F+3mi8bW1t6Ovrs8d/+ctf6q5xv9fV1YVisYiNGzfa/6a6u7vxxz/+seFY\n8r/vq6++is7OzkHN45hjjsGTTz6J1157rek1q1evxoUXXojvfOc7ePPNN7F582bsv//+dp0Hmt8J\nJ5yABx54AK+//jr23XdfXHjhhQCUQL/pppuwbt06fP/738enPvWphprahz/8YSxcuBBr1qzBli1b\ncNFFFw36N95rr71w++2344033sBnP/tZnH766ejt7R3Ud3dFeHLYQeju7sZdd92Fs846C+eee65V\ndS+88EJceumldme3du1a3H///QPer1ar4dZbb8WWLVsQhiFGjBgBIUTDaydOnFgX9z1//nxwznHZ\nZZc11RoA4IwzzsDdd9+NBx98EFEU4etf/zqKxSIOO+ywbZh9ip6eHowYMQLt7e144YUX8L3vfc+e\nO/nkk/GXv/wF3/zmN1GtVtHT04Ply5fbObzyyis2GqerqwuHHXYYPve5z6FSqeAPf/gDbr75Zpxz\nzjmDHkexWMTYsWPR19eHK664Yrvms63YuHEjPv7xj+Pf//3f8aMf/Qh33nkn7rnnHgDA+PHjwTnP\n/FazZ8/Gww8/jFdffRVbtmzBV7/61X7vP3nyZBx//PG47LLL0N3dDSkl/vSnP9WZUgzOPvtsXHPN\nNdiwYQM2btyIL33pSzj33HMHNZfjjz8eRx99NE477TQsX74ctVoNURTh8ccft9f09vaCMYbx48cD\nAJYsWYIVK1YMan7r16/Hf/3Xf6G3txfFYhHt7e32v/H/+I//sKQ0evRoMMYa/vff09ODMWPGoFQq\n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\nCILI8f8BenMtPqQ4kRIAAAAASUVORK5CYII=\n",
            "text/plain": [
              "\u003cFigure size 600x500 with 1 Axes\u003e"
            ]
          },
          "metadata": {
            "tags": []
          },
          "output_type": "display_data"
        }
      ],
      "source": [
        "plt.figure(figsize=(6,5))\n",
        "\n",
        "# Compute density.\n",
        "nx = 250 # Number of bins per dimension.\n",
        "x = np.linspace(-3 * sigma, 1 + 3 * sigma, nx).astype('float32')\n",
        "vals = tf.reshape(tf.stack(np.meshgrid(x, x), axis=2), (-1, num_vars, var_dim))\n",
        "probs = factorial_mog.prob(vals).numpy().reshape(nx, nx)\n",
        "\n",
        "# Display as image.\n",
        "from matplotlib.colors import ListedColormap\n",
        "cmap = ListedColormap(sns.color_palette(\"Blues\", 256))\n",
        "p = plt.pcolor(x, x, probs, cmap=cmap)\n",
        "ax = plt.axis('tight');\n",
        "\n",
        "# Plot locations of means.\n",
        "means_np = component_mean.numpy().squeeze()\n",
        "for mu_x in means_np[0]:\n",
        "  for mu_y in means_np[1]:\n",
        "    plt.scatter(mu_x, mu_y, s=150, marker='*', c='r', edgecolor='none');\n",
        "plt.axis(ax);\n",
        "\n",
        "plt.xlabel('$x_1$')\n",
        "plt.ylabel('$x_2$')\n",
        "plt.title('Density of factorial mixture of Gaussians');"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "colab_type": "text",
        "id": "DhktSkSzdxpr"
      },
      "source": [
        "## Plot samples and marginal density estimates"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 8,
      "metadata": {
        "colab": {
          "height": 458
        },
        "colab_type": "code",
        "id": "7B33PnrWc09U",
        "outputId": "a269ee98-cf6f-473c-c0f4-c922827f2e70"
      },
      "outputs": [
        {
          "data": {
            "image/png": "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\n6ipraGjI+tWvfmVdfvnlMUtYiZe8r7/+uvXSSy9Z//iP/2itXbs2ZukILTkBL730EqZOnYopU6Zg\nxIgRuP766/H4448nLZYSHZnXr1+PJUuWYNKkSQCA888/PwlRy/i9zhs2bMANN9wQo4SV6MhrGAbe\neOMNWJaFN998hOvztAAABRVJREFUE2PHjkVzc3I9F3Rkfvnll/HRj34UADB9+nS8+uqreP3115MQ\nFwBw5ZVXYuzYsdK/P/744/jsZz8LwzAwb9489PX14dixYzFKWImXvOeffz4uu+wymKYZo1TEhkpO\nQKFQwMSJE8v/njBhAgqFQtX7fvWrX+HSSy/FJz7xCezduzdOEavQkfn3v/89Tp48iY985COYO3cu\n7r///rjFrED3OgNAf38/Nm/ejKVLl8YlXhU68n75y1/G7373O4wfPx4zZ87Ev/7rv6KpKbmfmY7M\nl156KX72s58BGFaKhw4dwtGjR2OV0w9+nhtC6ratV5RYgoRTwzAq/v3+978fhw4dwrnnnounnnoK\nnZ2dOHDgQFwiVqEj88DAAHbu3InnnnsOxWIRH/jABzBv3jy8733vi0vMCnRktnnyyScxf/585Y45\nanTk3bJlC2bPno2tW7filVdewcc+9jF86EMfwrvf/e64xKxAR+auri589atfxezZszFz5kzMmTMn\nUevTCz/PDSG05ARMmDABR44cKf/76NGjGD9+fMV73v3ud+Pcc88FAFx99dUolUr44x//GKucTnRk\nnjBhAq666iqMGjUK5513Hq688krs3r07blEr5PGS2eahhx5K1FUJ6Ml73333YcmSJTAMA1OnTsXk\nyZOxb9++uEUto/ss33fffdi1axfuv/9+HD9+HJMnT45bVG38PDeEUMkJuOyyy3DgwAEcPHgQp0+f\nxkMPPYTFixdXvOd///d/yzvKl156CUNDQ3jPe96ThLgA9GS+7rrr8Mtf/hIDAwPo7+/Hjh07MGPG\njIQk1pMZGM5Y/MUvfoHrrrsuASnPoiPvpEmT8NxzzwEAXn/9dezfvx9TpkxJQlwAejL39fXh9OnT\nAICf/OQnuPLKKxOzPHVYvHgx7r//fliWhe3bt2P06NG44IILkhaLpJXEUl5SzqZNm6w///M/t6ZM\nmWKtXr3asizL+vGPf2z9+Mc/tizLsn7wgx9YF198sTVr1izriiuusF544YUkxbUsy1tmy7Ksf/7n\nf7ZmzJhhtbe3W3fddVdSopbRkfm+++6zli1blpSIFXjJWygUrI997GPWJZdcYrW3t1s//elPkxTX\nsixvmV988UVr6tSp1rRp06xPfvKT1okTJ5IU17r++uutP/uzP7Oam5uttrY26yc/+UmFvENDQ9aX\nvvQla8qUKdYll1xi/frXv061vMeOHbPa2tqsd73rXdbo0aOttrY269SpU4nK3Eiw4wkhhJDMQncl\nIYSQzEIlRwghJLNQyRFCCMksVHKEEEIyC5UcIYSQzEIlRwghJLNQyRFCCMksVHKEeLBgwQI8++yz\nAIDbb78dX/nKVxKWiBCiS3q7sBKSElatWoVvfvOb+MMf/oDe3l488cQTSYtECNGEHU8I0eDDH/4w\n3nzzTTz//PN417vehf/5n//Bd77zHZw6dQqPPvpo0uIRQiTQXUmIB3v27MGxY8cwcuRIvOtd7wIA\nTJkyBffee2/CkhFCvKCSI0TBsWPHcOONN+Lxxx/HqFGjsGXLlqRFIoT4gEqOEAn9/f1YsmQJvv/9\n72PGjBn4xje+gZUrVyYtFiHEB4zJERKAP/3pT/inf/onPPvss/jCF76Ar3/960mLRAgRQCVHCCEk\ns9BdSQghJLNQyRFCCMksVHKEEEIyC5UcIYSQzEIlRwghJLNQyRFCCMksVHKEEEIyC5UcIYSQzEIl\nRwghJLP8fxejBmKGaqrWAAAAAElFTkSuQmCC\n",
            "text/plain": [
              "\u003cFigure size 600x600 with 3 Axes\u003e"
            ]
          },
          "metadata": {
            "tags": []
          },
          "output_type": "display_data"
        }
      ],
      "source": [
        "samples = factorial_mog.sample(1000).numpy()\n",
        "\n",
        "g = sns.jointplot(\n",
        "    x=samples[:, 0, 0],\n",
        "    y=samples[:, 1, 0],\n",
        "    kind=\"scatter\",\n",
        "    marginal_kws=dict(bins=50))\n",
        "g.set_axis_labels(\"$x_1$\", \"$x_2$\");"
      ]
    }
  ],
  "metadata": {
    "colab": {
      "collapsed_sections": [],
      "name": "Factorial Mixture",
      "provenance": [],
      "toc_visible": true
    },
    "kernelspec": {
      "display_name": "Python 3",
      "name": "python3"
    }
  },
  "nbformat": 4,
  "nbformat_minor": 0
}
